package com.szs.mapper;

import com.szs.pojo.Clazz;
import com.szs.pojo.ClazzQueryParam;
import org.apache.ibatis.annotations.Insert;
import org.apache.ibatis.annotations.MapKey;
import org.apache.ibatis.annotations.Mapper;

import java.util.List;
import java.util.Map;
import java.util.Optional;

@Mapper
public interface ClazzMapper {

    //条件分页查询
    List<Clazz> list(ClazzQueryParam clazzQueryParam);
    //新增班级信息
    void insert(Clazz clazz);

    Clazz getClassById(Integer id);

    void update(Clazz clazz);
    //根据ID删除班级信息
    void deleteById(Integer id);

    Optional<Clazz> findById(Integer id);

    List<Clazz> findAll();

    /*
    * 统计班级人数
    * */
    @MapKey("name")
    List<Map<String, Object>> countClazzData();
    /*
    * 统计学员学历信息
    * */
    @MapKey("value")
    List<Map<String, Object>> getClassDegreeData();
}
